package com.skivingcloud.camunda.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.skivingcloud.camunda.constants.WorkflowConstants;

import java.util.Date;

/**
 * @author hushouquan
 * @since 2024/3/18
 */
public class TaskVo{
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 任务key
     */
    private String taskKey;
    /**
     * 流程编码
     */
    private String approveNo;
    /**
     * 节点名称
     */
    private String taskName;
    /**
     * 流程实例ID
     */
    private String processInstanceId;
    /**
     * 流程定义ID
     */
    private String processDefId;
    /**
     * 流程定义key
     */
    private String processDefKey;
    /**
     * 流程定义名称
     */
    private String processDefName;
    
    /**
     * 流程摘要
     */
    private String briefReport;
    /**
     * 表单编号
     */
    private String formRefKey;
    /**
     * 发起人
     */
    private String startUserId;
    /**
     * 发起人姓名
     */
    private String startUserName;
    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    /**
     * 当前处理人
     */
    private String assignee;
    /**
     * 处理人姓名
     */
    private String assigneeName;
    /**
     * 关联业务id
     */
    private String businessKey;
    /**
     * 业务功能设计ID
     */
    private String businessDesignerId;
    /**
     * 业务功能设计编码
     */
    private String businessDesignerCode;
    /**
     * 审批结果
     * @see WorkflowConstants.ProcessResult
     */
    private String description;
    /**
     * 审批意见
     */
    private String approveAdvice;
    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    /**
     * 任务状态
     * @see WorkflowConstants.ProcessRecordState
     */
    private String taskState;
    /**
     * 流程详情页
     */
    private String detailPage;
    
    private Long durationInSecond;
    public String getTaskId(){
        return taskId;
    }
    
    public void setTaskId(String taskId){
        this.taskId = taskId;
    }
    
    public String getTaskKey(){
        return taskKey;
    }
    
    public void setTaskKey(String taskKey){
        this.taskKey = taskKey;
    }
    
    public String getApproveNo(){
        return approveNo;
    }
    
    public void setApproveNo(String approveNo){
        this.approveNo = approveNo;
    }
    
    public String getTaskName(){
        return taskName;
    }
    
    public void setTaskName(String taskName){
        this.taskName = taskName;
    }
    
    public String getProcessInstanceId(){
        return processInstanceId;
    }
    
    public void setProcessInstanceId(String processInstanceId){
        this.processInstanceId = processInstanceId;
    }
    
    public String getProcessDefId(){
        return processDefId;
    }
    
    public void setProcessDefId(String processDefId){
        this.processDefId = processDefId;
    }
    
    public String getProcessDefKey(){
        return processDefKey;
    }
    
    public void setProcessDefKey(String processDefKey){
        this.processDefKey = processDefKey;
    }
    
    public String getProcessDefName(){
        return processDefName;
    }
    
    public void setProcessDefName(String processDefName){
        this.processDefName = processDefName;
    }
    public String getBriefReport(){
        return briefReport;
    }
    
    public void setBriefReport(String briefReport){
        this.briefReport = briefReport;
    }
    
    public String getFormRefKey(){
        return formRefKey;
    }
    
    public void setFormRefKey(String formRefKey){
        this.formRefKey = formRefKey;
    }
    
    public String getStartUserId(){
        return startUserId;
    }
    
    public void setStartUserId(String startUserId){
        this.startUserId = startUserId;
    }
    
    public String getStartUserName(){
        return startUserName;
    }
    
    public void setStartUserName(String startUserName){
        this.startUserName = startUserName;
    }
    
    public Date getStartTime(){
        return startTime;
    }
    
    public void setStartTime(Date startTime){
        this.startTime = startTime;
    }
    
    public String getAssignee(){
        return assignee;
    }
    
    public void setAssignee(String assignee){
        this.assignee = assignee;
    }
    
    public String getAssigneeName(){
        return assigneeName;
    }
    
    public void setAssigneeName(String assigneeName){
        this.assigneeName = assigneeName;
    }
    
    public String getBusinessKey(){
        return businessKey;
    }
    
    public void setBusinessKey(String businessKey){
        this.businessKey = businessKey;
    }
    
    public String getBusinessDesignerId(){
        return businessDesignerId;
    }
    
    public void setBusinessDesignerId(String businessDesignerId){
        this.businessDesignerId = businessDesignerId;
    }
    
    public String getBusinessDesignerCode(){
        return businessDesignerCode;
    }
    
    public void setBusinessDesignerCode(String businessDesignerCode){
        this.businessDesignerCode = businessDesignerCode;
    }
    
    public String getDescription(){
        return description;
    }
    
    public void setDescription(String description){
        this.description = description;
    }
    
    public String getApproveAdvice(){
        return approveAdvice;
    }
    
    public void setApproveAdvice(String approveAdvice){
        this.approveAdvice = approveAdvice;
    }
    
    public Date getEndTime(){
        return endTime;
    }
    
    public void setEndTime(Date endTime){
        this.endTime = endTime;
    }
    
    public String getTaskState(){
        return taskState;
    }
    
    public void setTaskState(String taskState){
        this.taskState = taskState;
    }
    
    public String getDetailPage(){
        return detailPage;
    }
    
    public void setDetailPage(String detailPage){
        this.detailPage = detailPage;
    }
    
    public Long getDurationInSecond(){
        return durationInSecond;
    }
    
    public void setDurationInSecond(Long durationInSecond){
        this.durationInSecond = durationInSecond;
    }
}
